package com.sxj.corejava.code07_面向对象;

/**
 * @author 石小俊
 * @date 2024年03月16日 9:01
 */
public class Test08_对象的初始化顺序 {
    public static void main(String[] args) {
        System.out.println("*********************对象所在的类被加载*********************");
        System.out.println(Product.price);
        System.out.println("*********************对象被创建*********************");
        Product product = new Product();
        Product product2 = new Product();
        System.out.println(Product.price);
        System.out.println("*********************方法被调用*********************");
        product.show();
        Product.print();
    }
}

class Product{
    String name;
    static double price;

    {
        System.out.println("代码块");
    }

    static {
        System.out.println("静态代码块");
        // 静态代码块不能访问实例属性
//        name = "admin";
        price = 6000.0;
    }

    public Product(){
        System.out.println("无参构造方法");
    }

    public Product(String name){
        this.name = name;
    }

    public void show(){
        System.out.println("这是普通方法");
    }

    public static void print(){
        System.out.println("这是静态方法");
    }
}
